for _ in range(int(input())):
n = int(input())
l = list(map(int, input().split()))
occur = {}
for c in l:
if c not in occur:
occur[c]=1
else:
occur[c]+=1
nums = list(occur.keys())
nums.sort()
if len(nums)==1:
print(n//2)
else:
tot = 0
ans = 0
for i in range(len(nums)):
tot+=occur[nums[i]]
ans = max(ans, tot*(n-tot))
print(ans)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t,n,a[200005];
signed main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>t;
while(t--)
{
cin>>n;
for (int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);a[n+1]=0x3f3f3f3f;
int ans=0;
if (a[1]==a[n])
{
cout<<n/2<<endl;
continue;
}
for (int i=1;i<=n;i++)
{
while(a[i]==a[i+1]&&i<=n) i++;
ans=max(ans,(n-i)*i);
}
cout<<ans<<endl;
}
return 0;
}
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |
851A - Arpa and a research in Mexican wave | 811A - Vladik and Courtesy |
1006B - Polycarp's Practice | 1422A - Fence |
21D - Traveling Graph | 1559B - Mocha and Red and Blue |
1579C - Ticks | 268B - Buttons |
898A - Rounding | 1372B - Omkar and Last Class of Math |
1025D - Recovering BST | 439A - Devu the Singer and Churu the Joker |
1323A - Even Subset Sum Problem | 1095A - Repeating Cipher |
630F - Selection of Personnel | 630K - Indivisibility |
20B - Equation | 600B - Queries about less or equal elements |
1015A - Points in Segments | 1593B - Make it Divisible by 25 |
680C - Bear and Prime 100 | 1300A - Non-zero |
1475E - Advertising Agency | 1345B - Card Constructions |